package com.example.myapplicationktkt2.activity

import android.app.Activity
import android.content.Intent
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import com.example.myapplicationktkt2.R

/**
 * Activity参数传递示例 - 方式2：对象传递
 * 演示接收对象参数并返回结果的方式3
 */
class ActivityC : AppCompatActivity() {
    
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_c)
        
        // 接收参数方式2: 对象数据（通过序列化）
        val user = intent.getParcelableExtra<User>("user_object")
        
        val paramTextView = findViewById<TextView>(R.id.param_text)
        paramTextView.text = "接收到的对象参数:\n姓名: ${user?.name}\n年龄: ${user?.age}\nVIP: ${user?.isVip}"
        
        // 返回结果方式3: 通过 setResult() 返回对象数据
        val btnReturnResult3 = findViewById<Button>(R.id.btn_return_result3)
        btnReturnResult3.setOnClickListener {
            val resultIntent = Intent()
            val resultUser = User("王五", 35, false)
            resultIntent.putExtra("result_data", "方式3返回: 处理后的用户对象[${resultUser.name}]")
            resultIntent.putExtra("result_user", resultUser)
            setResult(Activity.RESULT_OK, resultIntent)
            finish()
        }
    }
}